﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Tradex.Operations {
    
    /// <summary>
    /// The SettingsService handles all settings related issues.
    /// </summary>
    public interface ISettingsService {

        /// <summary>
        /// Gets a setting value. Tries to cast / convert to the wanted output.
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="key"></param>
        /// <returns></returns>
        T GetSetting<T>(string key);

        /// <summary>
        /// Sets a setting value.
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="key"></param>
        /// <param name="value"></param>
        void SetSetting<T>(string key, T value);

    }

}
